
#ifndef CINPUT_H_
#define CINPUT_H_

#include <vector>
#include <map>
#include "keys.h"

class cInput
{
	public:
		/// Default Constructor
		cInput();

		/// Default Destructor
		~cInput();

		/// Tells if a key is inbetween being pressed and released
		bool IsKeyHeld(eKey Key);

		/// Tells if a key is pressed
		bool IsKeyDown(eKey Key);

		/// Tells if a key is released
		bool IsKeyUp(eKey Key);

		/// Updates keyboard events
		bool Update();

	private:

		std::map<int, char> m_Keystates;	/**< Holds the state of the keys */
};

#endif